package com.jhy.guavacase.utilites;

import org.junit.jupiter.api.Test;

import java.util.List;
import java.util.Objects;

/**
 * @author jhy
 * @ClassName ObjectsCase.java
 * @Description java8中Objects类也可以做断言
 * @createTime 2022年02月22日 13:29:00
 */
public class ObjectsCase {

    //空检查 and 非空检查
    @Test
    public void checkNotNull(){
        Objects.isNull(null);
        Objects.nonNull("");
    }

    //assert关键字的使用(一个语法糖)
    //用法：assert后面直接跟一个boolean类型的表达式，如果该表达式为true,则断言通过；如果该表达式为false,则抛出AssertionError'
    //可以通过:来自定义异常信息
    @Test
    public void testAssert(){
        List<Integer> list = null;
        assert list == null; //断言通过示例
        try {
            assert list != null:"自定义断言异常信息error";
        }catch (AssertionError error){
            System.out.println("断言错误：" + error);
            System.out.println(error.getMessage());
        }
    }
}
